The present invention relates to computer disks, and more particularly to disk arays.
Redundant Arrays of Independent Disks (RAID) are well known in the art. There are two types of RAID in the industry, hardware RAID and software RAID. The trend in the industry is toward software RAID due to the cost savings. FIG. 1 illustrates a conventional RAID. The RAID 102 is comprised of a logical disk array 104.1-104.N. In RAID, the data on the disk array 104.1-104.N, including the operating system (OS), is coded using a RAID algorithm. Only the RAID driver can read and decipher this data. Thus, in order to boot the OS, the RAID driver must be loaded first. Typically, the RAID driver 108 is stored on a dedicated Flash memory device 106 on the RAID controller 105 in the case of hardware RAID, or on the system board 105 in the case of software RAID. Upon booting, the controller processor (hardware RAID) or system processor (software RAID) fetches the RAID driver 108 from the Flash memory device 106, implements the RAID, and then boots the OS. However, the Flash memory device 106 adds costs to the implementation of the software RAID 102. In addition, if the Flash memory device 106 fails, then the RAID cannot be implement and the OS cannot be booted. The entire disk array fails.
Accordingly, there exists a need for an improved method and mechanism for booting an operating system in a RAID. The method and mechanism should eliminate the need for a Flash memory device. This should permit software RAID support for systems that were not specifically designed to support it. The present invention addresses such a need.
A method and mechanism for booting an operating system in a Redundant Arrays of Independent Disks (RAID) is disclosed. The method includes: searching for a copy of a RAID driver on at least one boot partition of a disk in the disk array, wherein copies of the RAID driver are stored in boot partitions of at least two of the disks in the disk array; and loading the RAID driver, if the RAID driver is found. In the preferred embodiment, the boot partitions of the disks are searched until a working copy of the RAID driver is found. The RAID driver is loaded and the RAID implemented. The operating system may then be booted. In this manner, the need for a Flash memory device for storing the RAID driver is eliminated. The method and mechanism can be implemented in existing systems not designed to support software RAID.